package main

import (
	"fmt"
	"reflect"
)

type Stud struct {
	Name string
	Age  int
}

func main() {
	stud := Stud{"zhangsan", 12}
	testReflectRes(stud)
}

func testReflectRes(a interface{}) {
	// 空接口接受
	typea := reflect.TypeOf(a)
	valuea := reflect.ValueOf(a)
	fmt.Printf("反射后的type: %T,%v; \n反射后的value: %T,%v\n", typea, typea, valuea, valuea)
	realStud := valuea.Interface()
	n, flag := realStud.(Stud)
	if flag {
		fmt.Printf("找到了value： %T, %v", n, n)
	}
}
